SQL FULL OUTER JOIN Keyword

बाएं या दाएं तालिका रिकॉर्ड से मिलान करते समय सभी रिकॉर्ड वापस करने के लिए पूर्ण बाहरी जॉइन के बारे में जानें

FULL OUTER JOIN Keyword क्या हैं?

जब बाएं (तालिका 1) या दाएं (तालिका 2) तालिका रिकॉर्ड का मिलान किया जाता है तो पूर्ण बाहरी जॉइन कीवर्ड सभी रिकॉर्ड लौटाता है।

सहायता नोट:

पूर्ण बाहरी जोड़ और पूर्ण जोड़ समान हैं।

पूर्ण बाहरी जुड़ाव सिंटैक्स

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;

नोट:

एक पूर्ण बाहरी जुड़ाव बहुत बड़े परिणाम-सेट लौटा सकता है!

प्रदर्शन डेटाबेस

इस अभ्यास में हम प्रसिद्ध नॉर्थविंड मॉडल डेटाबेस का उपयोग करेंगे।

नीचे "ग्राहक" तालिका से एक चयन दिया गया है:

ग्राहक तालिका

+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| CustomerID | CustomerName                   | ContactName    | Address           | City     | PostalCode | Country |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| 1          | Alfreds Futterkiste            | Maria Anders   | Obere Str. 57     | Berlin   | 12209      | Germany |
| 2          | Ana Trujillo Emparedados...    | Ana Trujillo   | Avda. Constitución| México   | 05021      | Mexico  |
| 3          | Antonio Moreno Taquería        | Antonio Moreno | Mataderos 2312    | México   | 05023      | Mexico  |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+

और "आदेश" तालिका से एक चयन:

आदेश तालिका

+---------+------------+-----------+------------+------------+
| OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
+---------+------------+-----------+------------+------------+
| 10308   | 2          | 7         | 1996-09-18 | 3         |
| 10309   | 37         | 3         | 1996-09-19 | 1         |
| 10310   | 77         | 8         | 1996-09-20 | 2         |
+---------+------------+-----------+------------+------------+

SQL FULL OUTER JOIN उदाहरण

निम्नलिखित SQL कथन सभी ग्राहकों और सभी ऑर्डरों का चयन करता है:

उदाहरण

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

परिणाम सेट से चयन इस प्रकार दिखाई दे सकता है:

निष्कर्ष

+--------------------------------+---------+
| CustomerName                   | OrderID |
+--------------------------------+---------+
| NULL                           | 10309   |
| NULL                           | 10310   |
| Alfreds Futterkiste            | NULL    |
| Ana Trujillo Emparedados...    | 10308   |
| Antonio Moreno Taquería        | NULL    |
+--------------------------------+---------+

नोट:

फुल आउटर जॉइन कीवर्ड दोनों तालिकाओं से सभी मिलान रिकॉर्ड लौटाता है, चाहे वे दूसरी तालिका में मेल खाते हों या नहीं। इसलिए, यदि "ग्राहक" में ऐसी पंक्तियाँ हैं जो "ऑर्डर" से मेल नहीं खाती हैं, या यदि "ऑर्डर" में ऐसी पंक्तियाँ हैं जो "ग्राहक" से मेल नहीं खाती हैं, तो उन पंक्तियों को भी सूचीबद्ध किया जाएगा।

पूर्ण बाहरी जुड़ाव का दृश्य प्रतिनिधित्व

ग्राहक तालिका

CustomerID
CustomerName
1
Alfreds Futterkiste
2
Ana Trujillo
3
Antonio Moreno
FULL OUTER JOIN

आदेश तालिका

OrderID
CustomerID
10308
2
10309
37
10310
77

पूर्ण बाहरी जुड़ाव परिणाम

CustomerName
OrderID
नोट
Alfreds Futterkiste
NULL
एक ग्राहक जिसके पास कोई ऑर्डर नहीं है
Ana Trujillo
10308
लागू रिकॉर्ड
Antonio Moreno
NULL
एक ग्राहक जिसके पास कोई ऑर्डर नहीं है
NULL
10309
ग्राहक के बिना ऑर्डर करें
NULL
10310
ग्राहक के बिना ऑर्डर करें

टिप्पणी:पूर्ण बाहरी जुड़ाव दोनों तालिकाओं से सभी रिकॉर्ड दिखाता है - मिलान रिकॉर्ड, बिना ऑर्डर वाले ग्राहक, और बिना ग्राहक वाले ऑर्डर सभी शामिल होते हैं।

JOIN प्रकारों की तुलना

INNER JOIN

केवल वही रिकॉर्ड जो दोनों तालिकाओं में मेल खाते हों

A
B
उपयुक्त

LEFT JOIN

बाईं तालिका से सभी + मिलान रिकॉर्ड

A
B
उपयुक्त

RIGHT JOIN

सही तालिका से सभी + मिलान रिकॉर्ड

A
B
उपयुक्त

FULL OUTER JOIN

दोनों तालिकाओं से सभी रिकॉर्ड

A
B
उपयुक्त

कब पूर्ण बाहरी जोड़ का उपयोग किया जाना चाहिए

संपूर्ण डेटा विश्लेषण

दोनों तालिकाओं से संपूर्ण डेटा का विश्लेषण करें

बेमेल रिकॉर्ड ढूंढना

उन रिकॉर्ड्स की पहचान करना जो दोनों तालिकाओं में मेल नहीं खाते हैं

डेटा सिंक्रनाइज़ेशन

दो स्रोतों से डेटा को एकीकृत और सिंक्रनाइज़ करें

महत्वपूर्ण नोट:

बड़ी टेबलों पर फुल आउटर जॉइन का उपयोग करते समय सावधान रहें क्योंकि यह बहुत बड़े परिणाम दे सकता है। WHERE क्लॉज का उपयोग करके परिणामों को फ़िल्टर करना बेहतर है।

अभ्यास

SQL फुल आउटर जॉइन कीवर्ड क्या करता है?

बाएँ या दाएँ तालिका में मिलान करने पर सभी रिकॉर्ड लौटाता है
✓ ठीक है! एक पूर्ण बाहरी जोड़ दोनों तालिकाओं से सभी रिकॉर्ड लौटाता है - सभी मिलान वाले और गैर-मिलान वाले रिकॉर्ड
बाईं तालिका से सभी रिकॉर्ड लौटाता है और दाईं तालिका से मिलान रिकॉर्ड लौटाता है
✗ ग़लत! यह LEFT JOIN का काम है
दाईं तालिका से सभी रिकॉर्ड लौटाता है और बाईं तालिका से मिलान रिकॉर्ड लौटाता है
✗ ग़लत! ये Right JOIN का काम है